package com.ruoyi.ade.llm.service;

import com.ruoyi.ade.llm.model.Ade;
import com.ruoyi.ade.llm.model.AdeKnowledgeRetriveConfig;
import com.ruoyi.ade.llm.model.AdeRecognizeConfig;
import com.ruoyi.ade.llm.model.AdeWithKnowledge;

import java.util.List;

/**
 * ADE 识别服务
 */
public interface IAdeService {

       /**
        * 给定大模型、系统提示、用户提示 识别药物不良反应事件
        * @param llmModel
        * @param systemPrompt
        * @param userPrompt
        * @param afterFilter    是否后置处理    结构性问题：如识别结果为多个药物不良反应事件，是否将多个事件进行合并处理。
        *       1. 药物实体： 未指定/未知/未知药物 等药物实体替换为空字符串
        *      2. 不良反应实体： 未知/未指定/未知不良反应/空 等不良范围实体替换为空字符串， 如果ADE中reacitons为空 则认为不是药物不良反应事件
        * @return
        */
       List<Ade> recognize(String llmModel, String systemPrompt, String userPrompt, boolean afterFilter);


}
